package com.share51.novel.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.share51.novel.entity.Chapter;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author gb
 * @since 2020-03-23
 */
@Mapper
public interface ChapterMapper extends BaseMapper<Chapter> {

    /**
     * 批量保存小说章节内容
     *
     * @param chapterList
     */
    void saveAll(List<Chapter> chapterList);

    /**
     * 获取前5000天记录根据状态（主要是获取等待爬取的章节数据）
     * @param status
     * @return
     */
    List<Chapter> getTop5000ChapterByStatus(Integer status);

    /**
     * 获取所有的章节 url 和 site
     * @return
     */
    List<Chapter> getAllChapterUrlAndSite();

    /**
     * 获取最新发布的章节url
     * @param novelId
     * @param chapterLimit
     * @return
     */
    List<String> getChapterUrlByLimit(@Param("novelId") Integer novelId,
                                      @Param("chapterLimit") int chapterLimit);

    /**
     * 修改章节状态
     * @param chapter
     * @return
     */
    Integer updateChapter(Chapter chapter);
}
